<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
		<title>Use Case details for Cambio de PIN</title>
		<link href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" rel="stylesheet">
		<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
		<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
		<style>		body{
			font: 95% "Trebuchet MS", sans-serif;
			margin: 50px;
		}
		</style>	</head>
	<body>
<table align="center" border="0" cellpadding="0" cellspacing="0" style="width:100%">
		<tr>
			<td>
				<a href="index.html">Return to Index</a>
			</td>
			<td style="text-align: right;">
				<a href="Cambio_de_PIN.html">View Test Cases</a>
			</td>
		</tr>
</table>
<h1>Use Case details for <i>Cambio de PIN</i></h1>
<table align="center" border="1" cellpadding="1" cellspacing="1" style="width:100%">
	<tbody>
		<tr>
			<th>Name</th>
			<td>Cambio de PIN</td>
		</tr>
		<tr>
			<th>Description</th>
			<td>El caso de uso describe las interacciones entre el Cajero Autom&aacute;tico y el Usuario para poder cambiar el PIN que utiliza para poder operar con su tarjeta.</td>
		</tr>
		<tr>
			<th>System Under Testing</th>
			<td>Cajero Autom&aacute;tico</td>
		</tr>
		<tr>
			<th>Actors</th>
			<td>
			<p>Usuario</p>
			</td>
		</tr>
		<tr>
			<th>Preconditions</th>
			<td>
			<p>El cajero ATM est&aacute; conectado al banco. 
El usuario ingres&oacute; una tarjeta v&aacute;lida </p>
			</td>
		</tr>
		<tr>
			<th>Postconditions</th>
			<td>El PIN del cliente es cambiado en el sistema. 
El PIN nuevo es distinto al PIN anterior</td>
		</tr>
		<tr>
			<th colspan="2">Main Flow</th>
		</tr>
		<tr>
			<td colspan="2" style="padding: 5px;">
			<p><strong>Cambio de PIN exitoso</strong>
			<br><i>Describe los pasos que el usuario realiza para cambiar exitosamente el PIN de su tarjeta de cajero.</i>
</p>
			<p>1) El caso de uso comienza cuando el cliente del banco selecciona la opci&oacute;n de cambiar PIN</p>
			<p>2) El cajero solicita al cliente que ingrese su PIN actual.</p>
			<p>3) El cliente ingresa su PIN antes de poder cambiar el PIN <strong>{(input: pinActual, restriction: pinActual range [1000,9999], valid)}</strong></p>
			<p>4) El cajero solicita al cliente que ingrese su nuevo PIN.</p>
			<p>5) El cliente ingresa su nuevo PIN. <strong>{(input: nuevoPin, restriction: nuevoPin range [1000,9999], valid)}</strong></p>
			<p>6) El cajero compara y valida que el nuevo PIN ingresado por el usuario sea distinto al PIN anterior <strong>{(state: nuevoPin, restriction: nuevoPin = &amp;pinActual, invalid)}</strong></p>
			<p>7) El cajero solicita al cliente que confirme su nuevo PIN.</p>
			<p>8) El cliente debe ingresar su nuevo PIN para confirmar el cambio <strong>{(input: confirmaNuevoPin, restriction: confirmaNuevoPin = &amp;nuevoPin, valid)}</strong></p>
			<p>9) El cajero muestra un mensaje de PIN cambiado exitosamente y el caso de uso termina</p>
			</td>
		</tr>
		<tr>
			<th colspan="2">Alternative Flows</th>
		</tr>
		<tr>
			<td colspan="2" style="padding: 5px;">
			<p><strong>PIN Inv&aacute;lido</strong>&nbsp;(branchCondition: PIN Inv&aacute;lido)
			<br><i>Este escenario se ejecuta cuando el PIN ingresado por el usuario no corresponde con el PIN de la tarjeta</i></p>
			<p><u>Alternative Steps:</u></p>
			<p>4a) El cajero despliega el mensaje &ldquo;Pin invalido&rdquo;. El caso de uso vuelve al paso 2</p>
			<p>&nbsp;</p>
			<p><strong>PIN nuevo inv&aacute;lido</strong>&nbsp;(branchCondition: nuevoPin inv&aacute;lido)
			<br><i>El escenario cubre el caso en que el formato del nuevo PIN ingresado no cumple con las restricciones de la variable operacional</i></p>
			<p><u>Alternative Steps:</u></p>
			<p>6a) El cajero despliega un mensaje al usuario diciendo &quot;Formato de nuevo Pin inv&aacute;lido. Por favor intente nuevamente&quot;. El caso contin&uacute;a en el paso 4</p>
			<p>&nbsp;</p>
			<p><strong>PIN nuevo igual al anterior</strong>&nbsp;(branchCondition: nuevoPin = pinActual)
			<br><i>Es el escenario que se ejecuta cuando el usuario ingresa un nuevo PIN que es igual al PIN anterior.</i></p>
			<p><u>Alternative Steps:</u></p>
			<p>7a) El cajero despliega el mensaje &ldquo;El nuevo PIN debe ser diferente al anterior&rdquo;. El caso de uso vuelve al paso 4</p>
			<p>&nbsp;</p>
			<p><strong>PIN nuevo no coincide</strong>&nbsp;(branchCondition: nuevoPin &lt;&gt; confirmaNuevoPin)
			<br><i>El cajero despliega el mensaje &ldquo;Pin invalido&rdquo;. El caso de uso vuelve al paso 4</i></p>
			<p><u>Alternative Steps:</u></p>
			<p>9a) El cajero despliega el mensaje &ldquo;El nuevo PIN y su confirmaci&oacute;n no coinciden. Por favor intente nuevamente&rdquo;. El caso de uso vuelve al paso 4</p>
			<p>&nbsp;</p>
			</td>
		</tr>
	</tbody>
</table>
	</body>
</html>